/*********************课后作业管理版块模块结束******************/

function homeworkMgrFn(node, event) {
	if (node.isLeaf()) {		//判断点击的是树的叶子节点
		event.stopEvent();
		
		//获取点击的菜单项的id
		var node_id = node.id;
		//获取被点击的菜单项的text
		var node_text = node.text;
		
		if (node_id == 'mgr_book_homework') {			//管理教学作业
			//从TabPanel获取此id的对象，看看tab是否已经打开
			var tab = Ext.getCmp("center_part").getComponent(node_id);		         	
			
			if (!tab) {				//如果没有打开	
				
				//显示等待保存的提示信息
				Ext.MessageBox.show({
						title: '请等待',
						msg: '正在加载，请稍等...',
						progress: true,								        
						width: 260,
						wait:true,
						icon: 'mb_download_icon',
						animEl: 'saving',
						waitConfig: {
							interval: 200,  //interval进度的频率
							duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
							fn: function(){	//时间到后执行
								Ext.MessageBox.hide();	//让进度条消失
							}
						}
				});
				
				/***定义带插件RowExpander的表格上的工具条的按钮的处理函数***/	
				
				//定义RowExpander显示格式的按钮的处理函数
				var styleButtonFn = function(btn){
					if (styleButton.getText() == '详细模式') {
						//展开分组表格的分组
						bookHomeworkGrid.getView().expandAllGroups();
						for (var i = 0; i < bookHomeworkGrid.getStore().getCount(); i++) {		
							styleButton.setText('简洁模式');
							styleButton.setIconClass("pithy_icon");
							expander.expandRow(i);
						}
					} else if (styleButton.getText() == '简洁模式') {
						//收缩分组表格的分组
						bookHomeworkGrid.getView().collapseAllGroups();
						for (var i = 0; i < bookHomeworkGrid.getStore().getCount(); i++) {		
							styleButton.setText('详细模式');
							styleButton.setIconClass("minute_icon");
							expander.collapseRow(i);
						}							
					}
				}
				
				/********弹出窗口提交作业解答********/
				//创建作业表单
				var doBookHomeworkForm = new Ext.form.FormPanel({	
					fileUpload: true, 
			        labelAlign: 'right',			        
			        labelWidth: 80,
			        frame: true,	
			        items: [{
			        	xtype: 'fieldset',
						title: '提交作业解答',
						autoHeight: true,
						defaultType: 'textfield',
						//统一设置宽度和验证
				        defaults: {
				        	width: 170,
					        allowBlank: false
				        },									
						items: [{
				        	xtype: 'hidden',
				        	name: 'id'
				        },{
				        	id: 'book_upload_file',
				            fieldLabel: '上传作业',
				            xtype: 'fileuploadfield',
				            emptyText: '选择您要上传的已完成的作业（建议格式：.doc .txt）',
				            name: 'file_path',
				            anchor: '93%',
				            buttonCfg: {
				                text: '',
				                iconCls: 'upload-icon'
				            }
				        }]						     
			        }]							        
			    });
			    
			    //定义弹出窗口
				var doBookHomework_win = new Ext.Window({
					id: 'doBookHomework_win',
					title: '提交作业解答',					
			        width:500,
			        height:148,
			        //设置当点击X按钮时候，是隐藏还是销毁
			        closeAction:'hide',
			        //不允许超出浏览器范围
			        constrain: true,
			        //开启蒙板效果
			        modal: true,
			        buttonAlign: 'center',
			        items: [doBookHomeworkForm],
			        buttons: [{
				       	text:'保存',
				       	iconCls: 'submit_icon',
				       	//提交表单
				       	handler: function () {
				       		//如果表单验证成功，则显示保存的等待，和提交form
				       		if (doBookHomeworkForm.getForm().isValid()) {									
				       			//提交表单
				       			doBookHomeworkForm.getForm().submit({	
				       				url: 'outcome_mgr.do?cmd=add',
				        			success: function (doBookHomeworkForm, action) {
				        				Ext.Msg.alert("操作结果", action.result.msg);
				        				//重置doBookHomeworkForm中的数据
				        				doBookHomeworkForm.reset();
				        				//关闭窗口（隐藏）
				        				doBookHomework_win.hide();
				        				//刷新表格数据，看看修改或添加效果
				        				bookHomeworkGrid.getStore().reload();
				        			},
				        			failure: function (doBookHomeworkForm, action) {
				        				//重置doBookHomeworkForm中的数据
				        				doBookHomeworkForm.reset();
				        				Ext.Msg.alert("操作结果", action.result.msg);
				        			}
				        		});
				       			//显示等待保存的提示信息
				        		Ext.MessageBox.show({
				        				title: '请等待',
	                                    msg: '正在保存，请稍等...',
	                                    progress: true,								        
								        width: 240,
								        wait:true,
								        icon: 'mb_waiting_icon',
								        animEl: 'saving',
								        waitConfig: {
								        	interval: 200,  //interval进度的频率
								        	duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
											fn: function(){	//时间到后执行
			                                 	Ext.MessageBox.hide();	//让进度条消失
			                                }
								        }
	                            });
				       		}	
			        	}						       	 	
			        }, {
			        	text:'重置',
			        	iconCls: 'reset_icon',
			        	handler: function () {
			        		doBookHomeworkForm.getForm().reset();
			        	}	
			        }, {
			        	text:'取消',
			        	iconCls: 'revoke_icon',
			        	handler: function () {
			        		doBookHomework_win.hide();
			        	}	
			        }]
			    });
			    
				//提交作业解答
				var doBookHomeworkButtonFn = function() {
					//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
					var selectedCol = bookHomeworkGrid.getSelectionModel().getSelected();
					
					if (selectedCol == undefined) {				//如果没有选择任何一行
					
						Ext.Msg.alert("错误提示", "请选择一行你要提交解答的作业！");
						
					} else if (selectedCol.get("status") == "已经过期") {	
						
						Ext.Msg.alert("错误提示", "请选择进行中的作业提交解答！");
						
					} else if (selectedCol.get("if_done") == "已经完成") {	
						
						Ext.Msg.alert("错误提示", "请选择未完成的作业提交解答！");
						
					} else {
						
						doBookHomeworkForm.getForm().reset();
				    	doBookHomework_win.show();	
				    	
						/***注意，一定要先显示窗口，以及其中的From在给Form设值，才可以****/
						
						//把表格中选中行的数据填充到表单中，并显示Window							
						doBookHomeworkForm.getForm().setValues({
							id: selectedCol.get("id")
						});
					}
						
				}
			    
				/**************定义显示自己的作业解答窗口开始****************/
				//定义窗口中的表格
				//定义表格Record样式
				var bookOutcomeRecord = Ext.data.Record.create([
					{name: 'format', type: 'string', mapping: 'format'},
					{name: 'size', type: 'string', mapping: 'size'},
					{name: 'visto_path', type: 'string', mapping: 'visto_path'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'is_visto', type: 'string', mapping: 'is_visto'},
					{name: 'score', type: 'string', mapping: 'score'},
					{name: 'postil', type: 'string', mapping: 'postil'}
				]);
				
				//定义加号里面的内容显示格式
				var bookOutcomeExpander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>老师评语：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{postil}</p><br/><br/>'
					)
				});
				
				//定义表格列样式
				var bookOutcomeColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					bookOutcomeExpander,
				{
					id: 'format',
					header: '格式',
					dataIndex: 'format',
					type: 'string',
					renderer: fileFormatRenderer
				},{
					id: 'size',
					header: '大小',
					dataIndex: 'size',
					type: 'string'
				},{
					id: 'visto_path',
					header: '批改路径',
					dataIndex: 'visto_path',
					type: 'string',
					width: 20
				},{
					id: 'pub_time',
					header: '提交时间',
					dataIndex: 'pub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'is_visto',
					header: '是否批改',
					dataIndex: 'is_visto',
					type: 'string'
				},{
					id: 'score',
					header: '得分',
					dataIndex: 'score',
					type: 'string',
					renderer: scoreRenderer
				}]);
				bookOutcomeColums.defaultSortable = false;
				
				//下载已经批改的作业解答
				var down_vistoButton = new Ext.Button({
					text: '下载已批改作业解答',
					tooltip: '下载已批改作业解答',
					iconCls:'visto_download_icon',
					handler: function(btn) {
						//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
						var selectedCol = bookOutcomeGrid.getSelectionModel().getSelected();
						
						if (selectedCol == undefined) {				//如果没有选择任何一行
						
							Ext.Msg.alert("错误提示", "请选择你要下载已批改的作业解答！");
							
						} else if (selectedCol.get("is_visto") == "未批改") {
							
							Ext.Msg.alert("错误提示", "请选择已批改的作业！");
							
						} else {									//选择的行查看回复
							var visto_path = selectedCol.get("visto_path");
							window.open("jsp/tch/download.jsp?path="+visto_path);
						}
					}
				});
				
				var bookOutcomeTopToolbar = new Ext.Toolbar({
					items: ['-', down_vistoButton, '-']
				});
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是老师或学生分组)
				var bookOutcomeStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'outcome_mgr.do?cmd=get'}),			
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, bookOutcomeRecord),
					//分组的列
					groupField: 'is_visto',
					//分组必须设置的，排序的列
					sortInfo: {field: 'pub_time', direction: 'desc'}
				});		
				
				//定义表格
				var bookOutcomeGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},						
					store: bookOutcomeStore,
					cm: bookOutcomeColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					tbar: bookOutcomeTopToolbar,
					//扩展插件
					plugins: bookOutcomeExpander,
					collapsible: true,
					animCollapse: false
				});
				
				//定义窗口显示回复
				var bookOutcome_win = Ext.getCmp("bookOutcome_win");
				
				if (!bookOutcome_win) {
					bookOutcome_win = new Ext.Window({
						id: 'bookOutcome_win',
						title: '查看作业解答',
						layout: 'fit',
						width:700,
						height:300,
						//设置当点击X按钮时候，是隐藏还是销毁
						closeAction:'hide',
						//标题栏不允许超出浏览器范围
						constrainHeader: true,
						//开启蒙板效果
						modal: true,
						items: [bookOutcomeGrid]								
					});
				}
				/**************定义显示自己的作业解答窗口结束****************/
				
				//查看作业解答				
				var seeBookHomeworkButtonFn = function() {
					//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
					var selectedCol = bookHomeworkGrid.getSelectionModel().getSelected();
					
					if (selectedCol == undefined) {				//如果没有选择任何一行
					
						Ext.Msg.alert("错误提示", "请选择你要查看解答的作业！");
						
					} else if (selectedCol.get("if_done") == "未完成") {
						
						Ext.Msg.alert("错误提示", "请选择已完成的作业查看解答！");
						
					} else {									//选择的行查看回复
						var homew_id = selectedCol.get("id");
						//设置所回复的问题的id
						bookOutcomeStore.baseParams.hw_id = homew_id;		
						//加载数据
						bookOutcomeStore.load({params:{start: 0, limit: 10}});
						//定义窗口显示回复
						bookOutcome_win.show();
					}
				}
				
				/******定义所有提问带ext插件RowExpander的表格*********/	
				
				//定义表格Record样式
				var bookHomeworkRecord = Ext.data.Record.create([
					{name: 'id', type: 'int', mapping: 'id'},
					{name: 'status', type: 'string', mapping: 'status'},
					{name: 'title', type: 'string', mapping: 'title'},
					{name: 'content', type: 'string', mapping: 'content'},
					{name: 'pub_user', type: 'string', mapping: 'pub_user'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'sub_time', type: 'date', mapping: 'sub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'if_done', type: 'string', mapping: 'if_done'},
					{name: 'need_count', type: 'int', mapping: 'need_count'},					
					{name: 'sub_count', type: 'int', mapping: 'sub_count'}		
					//{name: 'correct_count', type: 'int', mapping: 'correct_count'}
				]);
				
				//定义加号里面的内容显示格式
				var expander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>作业内容：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{content}</p><br /><br />'
					)
				});
				
				//定义表格列样式
				var bookHomeworkColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					expander,
				{
					id: 'id',
					header: '编号',
					dataIndex: 'id',
					type: 'int'
				},{
					id: 'status',
					header: '状态',
					dataIndex: 'status',
					type: 'string'
				},{
					id: 'title',
					header: '标题',
					dataIndex: 'title',
					type: 'string'
				},{
					id: 'pub_user',
					header: '发布人',
					dataIndex: 'pub_user',
					type: 'string'
				},{
					id: 'pub_time',
					header: '发布时间',
					dataIndex: 'pub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'sub_time',
					header: '截止时间',
					dataIndex: 'sub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'if_done',
					header: '是否完成',
					dataIndex: 'if_done',
					type: 'string',
					renderer: ifDoneRenderer
				},{
					id: 'need_count',
					header: '应交人数',
					dataIndex: 'need_count',
					type: 'int'
				},{
					id: 'sub_count',
					header: '已交人数',
					dataIndex: 'sub_count',
					type: 'int'
				}/*,{
					id: 'correct_count',
					header: '已批改数',
					dataIndex: 'correct_count',
					type: 'int'
				}*/]);
				bookHomeworkColums.defaultSortable = false;
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是否问题已经解决分组)
				var bookHomeworkStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'homework_stu.do?cmd=show&flag=book'}),
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, bookHomeworkRecord),
					//分组的列
					groupField: 'status',
					//分组必须设置的，排序的列
					sortInfo: {field: 'id', direction: 'desc'}
				});
				bookHomeworkStore.load({params:{start: 0, limit: 10}});	
				
				//定义表格顶端工具栏	
				//显示风格选择按钮
				var styleButton = new Ext.Button({
					text: '详细模式',
					tooltip: '切换显示模式',
					iconCls:'minute_icon',
					handler: styleButtonFn
				});
				var doBookHomeworkButton = new Ext.Button({
					text: '提交作业解答',
					tooltip: '提交作业解答',
					iconCls:'do_homework_icon',
					handler: doBookHomeworkButtonFn
				});
				var seeBookHomeworkButton = new Ext.Button({
					text: '查看作业解答',
					tooltip: '查看提交的作业解答',
					iconCls:'show_icon',
					handler: seeBookHomeworkButtonFn
				});
				var flashButton = new Ext.Button({
					text: '刷新',
					tooltip: '刷新本页内容',
					iconCls:'flush_icon',
					handler: function() {
				    	bookHomeworkGrid.getStore().reload();
				    }
				});
				var topToolbar = new Ext.Toolbar({
					items: [styleButton, '-', doBookHomeworkButton, '-', seeBookHomeworkButton, '-', flashButton]
				});
				
				//定义表格
				var bookHomeworkGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},
					store: bookHomeworkStore,
					cm: bookHomeworkColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					//添加顶端的工具栏
					tbar: topToolbar,
					//添加底部分页条（bbar-->bottom bar）
					bbar: new Ext.PagingToolbar({
						pageSize: 10,
						store: bookHomeworkStore,
						displayInfo: true,
						displayMsg: '显示第 {0} --> {1} 条记录，共 {2} 条记录',
						emptyMsg: "没有记录"
					}),
					//扩展插件
					plugins: expander,
					collapsible: true,
					animCollapse: false
				});
				
				/*****定义显示作业信息的带ext插件RowExpander的表格结束*******/
				/*****************添加此表格到TabPanel*****************/
				tab = Ext.getCmp("center_part").add({
					//使用点击菜单的id，这样方便事件处理
					id: node_id,
					//标题为被点击的菜单项的text
					title: node_text,
					closable:true,
					iconCls: 'nor_icon',
					autoScroll:true,
					layout: 'fit',
					items: [bookHomeworkGrid]
				});		  
				/***************添加此表格到TabPanel结束***************/
				
			}
			
			//设置此新增Tab为活动的Tab
			Ext.getCmp("center_part").setActiveTab(tab);
		} else if (node_id == 'mgr_good_homework') {
			//从TabPanel获取此id的对象，看看tab是否已经打开
			var tab = Ext.getCmp("center_part").getComponent(node_id);		         	
			
			if (!tab) {				//如果没有打开	
				
				//显示等待保存的提示信息
				Ext.MessageBox.show({
						title: '请等待',
						msg: '正在加载，请稍等...',
						progress: true,								        
						width: 260,
						wait:true,
						icon: 'mb_download_icon',
						animEl: 'saving',
						waitConfig: {
							interval: 200,  //interval进度的频率
							duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
							fn: function(){	//时间到后执行
								Ext.MessageBox.hide();	//让进度条消失
							}
						}
				});
				
				/***定义带插件RowExpander的表格上的工具条的按钮的处理函数***/	
				
				//定义RowExpander显示格式的按钮的处理函数
				var styleButtonFn = function(btn){
					if (styleButton.getText() == '详细模式') {
						//展开分组表格的分组
						goodHomeworkGrid.getView().expandAllGroups();
						for (var i = 0; i < goodHomeworkGrid.getStore().getCount(); i++) {		
							styleButton.setText('简洁模式');
							styleButton.setIconClass("pithy_icon");
							expander.expandRow(i);
						}
					} else if (styleButton.getText() == '简洁模式') {
						//收缩分组表格的分组
						goodHomeworkGrid.getView().collapseAllGroups();
						for (var i = 0; i < goodHomeworkGrid.getStore().getCount(); i++) {		
							styleButton.setText('详细模式');
							styleButton.setIconClass("minute_icon");
							expander.collapseRow(i);
						}							
					}
				}			    
				
				/********弹出窗口提交作业解答********/
				//创建作业表单
				var doGoodHomeworkForm = new Ext.form.FormPanel({	
					fileUpload: true, 
			        labelAlign: 'right',			        
			        labelWidth: 80,
			        frame: true,	
			        items: [{
			        	xtype: 'fieldset',
						title: '提交作业解答',
						autoHeight: true,
						defaultType: 'textfield',
						//统一设置宽度和验证
				        defaults: {
				        	width: 170,
					        allowBlank: false
				        },									
						items: [{
				        	xtype: 'hidden',
				        	name: 'id'
				        },{
				        	id: 'good_upload_file',
				            fieldLabel: '上传作业',
				            xtype: 'fileuploadfield',
				            emptyText: '选择您要上传的已完成的作业（建议格式：.doc .txt）',
				            name: 'file_path',
				            anchor: '93%',
				            buttonCfg: {
				                text: '',
				                iconCls: 'upload-icon'
				            }
				        }]						     
			        }]							        
			    });
			    
			    //定义弹出窗口
				var doGoodHomework_win = new Ext.Window({
					id: 'doGoodHomework_win',
					title: '提交作业解答',					
			        width:500,
			        height:148,
			        //设置当点击X按钮时候，是隐藏还是销毁
			        closeAction:'hide',
			        //不允许超出浏览器范围
			        constrain: true,
			        //开启蒙板效果
			        modal: true,
			        buttonAlign: 'center',
			        items: [doGoodHomeworkForm],
			        buttons: [{
				       	text:'保存',
				       	iconCls: 'submit_icon',
				       	//提交表单
				       	handler: function () {
				       		//如果表单验证成功，则显示保存的等待，和提交form
				       		if (doGoodHomeworkForm.getForm().isValid()) {									
				       			//提交表单
				       			doGoodHomeworkForm.getForm().submit({	
				       				url: 'outcome_mgr.do?cmd=add',
				        			success: function (doGoodHomeworkForm, action) {
				        				Ext.Msg.alert("操作结果", action.result.msg);
				        				//重置doGoodHomeworkForm中的数据
				        				doGoodHomeworkForm.reset();
				        				//关闭窗口（隐藏）
				        				doGoodHomework_win.hide();
				        				//刷新表格数据，看看修改或添加效果
				        				goodHomeworkGrid.getStore().reload();
				        			},
				        			failure: function (doGoodHomeworkForm, action) {
				        				//重置doGoodHomeworkForm中的数据
				        				doGoodHomeworkForm.reset();
				        				Ext.Msg.alert("操作结果", action.result.msg);
				        			}
				        		});
				       			//显示等待保存的提示信息
				        		Ext.MessageBox.show({
				        				title: '请等待',
	                                    msg: '正在保存，请稍等...',
	                                    progress: true,								        
								        width: 240,
								        wait:true,
								        icon: 'mb_waiting_icon',
								        animEl: 'saving',
								        waitConfig: {
								        	interval: 200,  //interval进度的频率
								        	duration: 1000,	//执行进度的持续时间，超过这个时间后，interval失效，不再产生进度效果，但进度框也不会消失。
											fn: function(){	//时间到后执行
			                                 	Ext.MessageBox.hide();	//让进度条消失
			                                }
								        }
	                            });
				       		}	
			        	}						       	 	
			        }, {
			        	text:'重置',
			        	iconCls: 'reset_icon',
			        	handler: function () {
			        		doGoodHomeworkForm.getForm().reset();
			        	}	
			        }, {
			        	text:'取消',
			        	iconCls: 'revoke_icon',
			        	handler: function () {
			        		doGoodHomework_win.hide();
			        	}	
			        }]
			    });
			    
				//提交作业解答
				var doGoodHomeworkButtonFn = function() {
					//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
					var selectedCol = goodHomeworkGrid.getSelectionModel().getSelected();
					
					if (selectedCol == undefined) {				//如果没有选择任何一行
					
						Ext.Msg.alert("错误提示", "请选择一行你要提交解答的作业！");
						
					} else if (selectedCol.get("status") == "已经过期") {	
						
						Ext.Msg.alert("错误提示", "请选择进行中的作业提交解答！");
						
					} else if (selectedCol.get("if_done") == "已经完成") {	
						
						Ext.Msg.alert("错误提示", "请选择未完成的作业提交解答！");
						
					} else {
						
						doGoodHomeworkForm.getForm().reset();
				    	doGoodHomework_win.show();	
				    	
						/***注意，一定要先显示窗口，以及其中的From在给Form设值，才可以****/
						
						//把表格中选中行的数据填充到表单中，并显示Window							
						doGoodHomeworkForm.getForm().setValues({
							id: selectedCol.get("id")
						});
					}
						
				}
				
				/**************定义显示自己的作业解答窗口开始****************/
				//定义窗口中的表格
				//定义表格Record样式
				var goodOutcomeRecord = Ext.data.Record.create([
					{name: 'format', type: 'string', mapping: 'format'},
					{name: 'size', type: 'string', mapping: 'size'},
					{name: 'visto_path', type: 'string', mapping: 'visto_path'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'is_visto', type: 'string', mapping: 'is_visto'},
					{name: 'score', type: 'string', mapping: 'score'},
					{name: 'postil', type: 'string', mapping: 'postil'}
				]);
				
				//定义加号里面的内容显示格式
				var goodOutcomeExpander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>老师评语：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{postil}</p><br/><br/>'
					)
				});
				
				//定义表格列样式
				var goodOutcomeColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					goodOutcomeExpander,
				{
					id: 'format',
					header: '格式',
					dataIndex: 'format',
					type: 'string',
					renderer: fileFormatRenderer
				},{
					id: 'size',
					header: '大小',
					dataIndex: 'size',
					type: 'string'
				},{
					id: 'visto_path',
					header: '批改路径',
					dataIndex: 'visto_path',
					type: 'string',
					width: 20
				},{
					id: 'pub_time',
					header: '提交时间',
					dataIndex: 'pub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'is_visto',
					header: '是否批改',
					dataIndex: 'is_visto',
					type: 'string'
				},{
					id: 'score',
					header: '得分',
					dataIndex: 'score',
					type: 'string',
					renderer: scoreRenderer
				}]);
				goodOutcomeColums.defaultSortable = false;
				
				//下载已经批改的作业解答
				var down_vistoButton = new Ext.Button({
					text: '下载已批改作业解答',
					tooltip: '下载已批改作业解答',
					iconCls:'visto_download_icon',
					handler: function(btn) {
						//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
						var selectedCol = goodOutcomeGrid.getSelectionModel().getSelected();
						
						if (selectedCol == undefined) {				//如果没有选择任何一行
						
							Ext.Msg.alert("错误提示", "请选择你要下载已批改的作业解答！");
							
						} else if (selectedCol.get("is_visto") == "未批改") {
							
							Ext.Msg.alert("错误提示", "请选择已批改的作业！");
							
						} else {									//选择的行查看回复
							var visto_path = selectedCol.get("visto_path");
							window.open("jsp/tch/download.jsp?path="+visto_path);
						}
					}
				});
				
				var goodOutcomeTopToolbar = new Ext.Toolbar({
					items: ['-', down_vistoButton, '-']
				});
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是老师或学生分组)
				var goodOutcomeStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'outcome_mgr.do?cmd=get'}),			
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, goodOutcomeRecord),
					//分组的列
					groupField: 'is_visto',
					//分组必须设置的，排序的列
					sortInfo: {field: 'pub_time', direction: 'desc'}
				});		
				
				//定义表格
				var goodOutcomeGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},						
					store: goodOutcomeStore,
					cm: goodOutcomeColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					tbar: goodOutcomeTopToolbar,
					//扩展插件
					plugins: goodOutcomeExpander,
					collapsible: true,
					animCollapse: false
				});
				
				//定义窗口显示回复
				var goodOutcome_win = Ext.getCmp("goodOutcome_win");
				
				if (!goodOutcome_win) {
					goodOutcome_win = new Ext.Window({
						id: 'goodOutcome_win',
						title: '查看作业解答',
						layout: 'fit',
						width:700,
						height:300,
						//设置当点击X按钮时候，是隐藏还是销毁
						closeAction:'hide',
						//标题栏不允许超出浏览器范围
						constrainHeader: true,
						//开启蒙板效果
						modal: true,
						items: [goodOutcomeGrid]								
					});
				}
				/**************定义显示自己的作业解答窗口结束****************/
				
				//查看作业解答				
				var seeGoodHomeworkButtonFn = function() {
					//获取表格中选中的那行（使用getSelected()只选择选中的多个行的第一行）返回的是Record类型
					var selectedCol = goodHomeworkGrid.getSelectionModel().getSelected();
					
					if (selectedCol == undefined) {				//如果没有选择任何一行
					
						Ext.Msg.alert("错误提示", "请选择你要查看解答的作业！");
						
					} else if (selectedCol.get("if_done") == "未完成") {
						
						Ext.Msg.alert("错误提示", "请选择已完成的作业查看解答！");
						
					}else {									//选择的行查看回复
					
						var homew_id = selectedCol.get("id");
						//设置所回复的问题的id
						goodOutcomeStore.baseParams.hw_id = homew_id;		
						//加载数据
						goodOutcomeStore.load({params:{start: 0, limit: 10}});
						//定义窗口显示回复
						goodOutcome_win.show();
					}
				}
				
				/******定义所有提问带ext插件RowExpander的表格*********/	
				
				//定义表格Record样式
				var goodHomeworkRecord = Ext.data.Record.create([
					{name: 'id', type: 'int', mapping: 'id'},
					{name: 'status', type: 'string', mapping: 'status'},
					{name: 'title', type: 'string', mapping: 'title'},
					{name: 'content', type: 'string', mapping: 'content'},
					{name: 'format', type: 'string', mapping: 'format'},
					{name: 'size', type: 'string', mapping: 'size'},
					{name: 'pub_user', type: 'string', mapping: 'pub_user'},
					{name: 'pub_time', type: 'date', mapping: 'pub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'sub_time', type: 'date', mapping: 'sub_time', dateFormat: 'Y-m-dTH:i:s'},
					{name: 'if_done', type: 'string', mapping: 'if_done'},
					{name: 'need_count', type: 'int', mapping: 'need_count'},					
					{name: 'sub_count', type: 'int', mapping: 'sub_count'},			
					//{name: 'correct_count', type: 'int', mapping: 'correct_count'}
					{name: 'operate', type: 'string', mapping: 'operate'}
				]);
				
				//定义加号里面的内容显示格式
				var expander = new Ext.grid.RowExpander({
					tpl : new Ext.Template(
						'<p>&nbsp;</p>',
						'<p><b>作业描述：</b></p>',
						'<p>&nbsp;</p>',
						'<p>{content}</p><br /><br />'
					)
				});
				
				//定义表格列样式
				var goodHomeworkColums = new Ext.grid.ColumnModel([
					//加上上面定义的expander
					expander,
				{
					id: 'id',
					header: '编号',
					dataIndex: 'id',
					type: 'int'
				},{
					id: 'status',
					header: '状态',
					dataIndex: 'status',
					type: 'string'
				},{
					id: 'title',
					header: '标题',
					dataIndex: 'title',
					type: 'string'
				},{
					id: 'format',
					header: '格式',
					dataIndex: 'format',
					type: 'string', 
					renderer: fileFormatRenderer
				},{
					id: 'size',
					header: '大小',
					dataIndex: 'size',
					type: 'string'
				},{
					id: 'pub_user',
					header: '发布人',
					dataIndex: 'pub_user',
					type: 'string'
				},{
					id: 'pub_time',
					header: '发布时间',
					dataIndex: 'pub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'sub_time',
					header: '截止时间',
					dataIndex: 'sub_time',
					type: 'date',
					renderer: Ext.util.Format.dateRenderer('Y年m月d日 H时i分s秒')
				},{
					id: 'if_done',
					header: '是否完成',
					dataIndex: 'if_done',
					type: 'string',
					renderer: ifDoneRenderer
				},{
					id: 'need_count',
					header: '应交人数',
					dataIndex: 'need_count',
					type: 'int'
				},{
					id: 'sub_count',
					header: '已交人数',
					dataIndex: 'sub_count',
					type: 'int'
				}/*,{
					id: 'correct_count',
					header: '已批改数',
					dataIndex: 'correct_count',
					type: 'int'
				}*/,{
					id: 'operate',
					header: '在线浏览/下载',
					dataIndex: 'operate',
					type: 'string'
				}]);
				goodHomeworkColums.defaultSortable = false;
				
				//定义Stroe(使用的是GroupingStore产生分组表格，按是否问题已经解决分组)
				var goodHomeworkStore = new Ext.data.GroupingStore({
					proxy: new Ext.data.HttpProxy({url:'homework_stu.do?cmd=show&flag=good'}),					
					reader: new Ext.data.JsonReader({
						totalProperty: 'totalProperty',
						root: 'root'
					}, goodHomeworkRecord),
					//分组的列
					groupField: 'status',
					//分组必须设置的，排序的列
					sortInfo: {field: 'id', direction: 'desc'}
				});
				goodHomeworkStore.load({params:{start: 0, limit: 10}});	
				
				//定义表格顶端工具栏	
				//显示风格选择按钮
				var styleButton = new Ext.Button({
					text: '详细模式',
					tooltip: '切换显示模式',
					iconCls:'minute_icon',
					handler: styleButtonFn
				});	
				var doGoodHomeworkButton = new Ext.Button({
					text: '提交作业解答',
					tooltip: '提交作业解答',
					iconCls:'do_homework_icon',
					handler: doGoodHomeworkButtonFn
				});
				var seeGoodHomeworkButton = new Ext.Button({
					text: '查看作业解答',
					tooltip: '查看提交的作业解答',
					iconCls:'show_icon',
					handler: seeGoodHomeworkButtonFn
				});
				var flashButton = new Ext.Button({
					text: '刷新',
					tooltip: '刷新本页内容',
					iconCls:'flush_icon',
					handler: function() {
				    	goodHomeworkGrid.getStore().reload();
				    }
				});
				
				var topToolbar = new Ext.Toolbar({
					items: [styleButton, '-', doGoodHomeworkButton, '-', seeGoodHomeworkButton, '-', flashButton]
				});
				
				//定义表格
				var goodHomeworkGrid = new Ext.grid.GridPanel({
					loadMask: true,
					//使得表格强制fit父容器
					viewConfig: {
						forceFit: true
					},
					store: goodHomeworkStore,
					cm: goodHomeworkColums,
					sm: new Ext.grid.RowSelectionModel(),
					//设置分组View
					view: new Ext.grid.GroupingView({
						forceFit:true,
				        //显示这个分组有多少项
				        groupTextTpl: '{text} ({[values.rs.length]} {["条记录"]})'
					}),
					//添加顶端的工具栏
					tbar: topToolbar,
					//添加底部分页条（bbar-->bottom bar）
					bbar: new Ext.PagingToolbar({
						pageSize: 10,
						store: goodHomeworkStore,
						displayInfo: true,
						displayMsg: '显示第 {0} --> {1} 条记录，共 {2} 条记录',
						emptyMsg: "没有记录"
					}),
					//扩展插件
					plugins: expander,
					collapsible: true,
					animCollapse: false
				});
				
				/*****定义显示作业信息的带ext插件RowExpander的表格结束*******/
				/*****************添加此表格到TabPanel*****************/
				tab = Ext.getCmp("center_part").add({
					//使用点击菜单的id，这样方便事件处理
					id: node_id,
					//标题为被点击的菜单项的text
					title: node_text,
					closable:true,
					iconCls: 'nor_icon',
					autoScroll:true,
					layout: 'fit',
					items: [goodHomeworkGrid]
				});		  
				/***************添加此表格到TabPanel结束***************/
				
				
			}
			
			//设置此新增Tab为活动的Tab
			Ext.getCmp("center_part").setActiveTab(tab);
		}			
	}
};

/*********************课后作业管理版块模块结束******************/